Forty Thieves is a one-player card game where the objective is to obtain as
high a score as possible by removing cards from seven face-up stacks of five
cards. Cards can be removed if they have a value one more or one less than the
current card or if they (or the current card) are a joker. If all cards are
removed the pack is shuffled and redealt, but if the stock is used up the game
is over. A high score table is maintained and saved to disc and the number of
jokers present at the start of a game can be altered.
2.0 The rules
=============
A game of Forty Thieves is begun by shuffling a pack of 52 cards and up to
five jokers together, then dealing them into seven stacks of five cards, all
face-up, and piling the rest, face-down, as a stock. The top card of the stock
is turned over and play can then commence.
The objective is to clear away all the cards in the seven stacks. A card may
be removed from the bottom of a stack if its value is one higher or one lower
than the current top card of the stock. The suits of the cards do not matter.
Thus, is the current card is a three, any two or any four can be placed on top
of it. If a two is placed on it the next card must be either an ace or a three
and so on.
In addition, if the current card is a joker ANY card may be placed on it, and
a joker may be removed from the bottom of a stack irrespective of the current
card.
If no cards can be placed on the current card the next card of the stock may
be turned over. If there are no more cards left in the stock the game is over.
If all seven stacks are cleared of cards one joker will be removed from the
pack and the cards shuffled and dealt out again. Thus play continues, the score
mounting, until the player has turned over every card in the stock and still
has cards left in the stacks.
3.0 Using the program
=====================
When the !Thieves application is run it installs an icon on the right hand side
of the icon bar. Clicking SELECT on this icon will cause the main game window
to be displayed. Clicking MENU will display a pop-up menu which has a submenu
displaying the app's information window, a quit option and an option to display
the high score window.
The main game window will be set up ready to play. To move a card from a stack
simply click on the stack with SELECT. If the card cannot be moved a beep will
be sounded.
To turn over the next card in the stock click on the stock (or the current
card) with SELECT. If there are no more cards left in the stock a beep will be
sounded.
If all seven stacks are cleared the program will automatically deal out a new
set of cards. If the game has ended (there are no valid moves left and cards
are still present in one or more stack) the program will check if you have a
high score. If so, a window will appear indicating this and prompting for your
name.
Clicking MENU in the main game window displays a pop-up menu with two options.
The 'New Game' option resets the score and deals out a new set of cards (use
this when your game has finished or if you wish to abandon it). The 'Jokers'
option leads to a submenu with a writable option. Enter the number of jokers
you wish to be dealt into the pack at the start of the game (only numbers
from 0 to 5 inclusive are valid) and either press the Return key or click
SELECT on the option.
Clicking MENU in the high score window displays a pop-up menu allowing one of
the six high score tables (a separate table is kept for each initial number of
jokers; I felt this was fairer on those people who like the difficulty of only
1 joker or no jokers at all) to be displayed. Each entry features the score,
the name of the person who achieved it and the date it was achieved.
The high score tables are automatically saved to disc each time it is updated. If for some reason it cannot be saved (if, for example, the file's access is
set to read-only or the application was run from ArcFS) an error message will
be displayed.
Similarly, if the high score tables cannot be loaded when the application is
loaded a default set of tables will be created and an error message displayed.
4.0 Scoring
===========
Points are scored for:
Removing a card from a stack
Clearing all seven stacks
Individual cards score based on their face value and are valued as follows:
Ace 8 points
2 6 points
3 6 points
4 4 points
5 4 points
6 2 points
7 2 points
8 2 points
9 4 points
10 4 points
Jack 6 points
Queen 6 points
King 8 points
Joker Nothing
If you manage to clear all seven stacks a fifteen point bonus will be given.
5.0 Customisation, programming info and credits
===============================================
The application is shipped with 3D templates (the author firmly believes that
everybody should have RISC OS 3.1 by now) but recognises that not everyone will
be able to (or want to) use them. Therefore, inside the application directory
are two template files, named 'Templ_3D' and 'Templ_2D'. Simply copy the
appropriate file into the same directory, naming it 'Templates'. This will
overwrite the existing template files with the desired version.
This application was written in ANSI C, compiled with Acorn DDE C v4.0 and
used the excellent DeskLib 2.0 to take the hassle out of the interface. The
author recommends this invaluable programming library to any serious desktop
programmer.
There are no high-res sprites for either the application icon or the playing
cards and I apologise for this but as I have only a standard fixed-sync Acorn
monitor I have no way of satisfactorily viewing the sprites or testing the
code with them. Donations of multi-sync monitors will be gratefully received :)
The author was inspired to write this application after playing 'Thieves and
Kings' under MS Windows 3.1, which was written by Paul DeWolfe (Thieves and
Kings, that is, not Windows; wouldn't that be an insult?!)
Thanks to Paul Walker (and his housemates and friends) for acting as general
play testers and boosting my ego.
Thanks also to Jason Martin for pointing out that I had spelled 'Forty' wrong
initially. It's one of those words I always have trouble with...
6.0 About the author
====================
Graham West is a Computer Science student at Bradford University. He likes to
read, listen to music (most things from Slayer & Anthrax to Gerry Rafferty &
The Spin Doctors), roadie and monitor engineer for bands (strictly on an
amateur basis, although he has worked for the Jim Rose Circus Sideshow, the Milltown Brothers and Consolidated among others) and he is a keen grower of
giant tomatoes. Well, we think he may have lied about the tomatoes but the rest